Micron Document
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
| SparkN0de-git | SparkN0de |
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


Commit beee2cbabccbc9b6d589051a8841b5957d9c087d


Parents : 905ced6
Author : Ivan <ivan@quad4.io>
Signature : Invalid signer <e46112d44649266d71fe2193e00a4710>, author is <ivan@quad4.io>
Date : 2026-07-06T15:27:46-05:00

refactor(rnode_support): replace import check for 'able' with importlib for improved reliability

Changes

1 files changed, 3 insertions(+), 5 deletions(-)


Diff

diff --git a/meshchatx/src/backend/rnode_support.py b/meshchatx/src/backend/rnode_support.py
index 35a9345d..800b4f60 100644
--- a/meshchatx/src/backend/rnode_support.py
+++ b/meshchatx/src/backend/rnode_support.py
@@ -55,11 +55,9 @@ def android_jnius_available() -> bool:
def android_able_available() -> bool:
"""True when able can be imported (BLE GATT support for RNode ble:// on Android)."""
- try:
- import able # noqa: F401
- except ImportError:
- return False
- return True
+ import importlib.util
+
+ return importlib.util.find_spec("able") is not None
def desktop_serial_stack_available() -> bool:


──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────